1. Field of the Invention
The present invention relates to a method for protecting a prorarm at a call of subprograms.
2. Description of Related Art
In particular with security-relevant applications, for example in the area of IC cards, it is necessary to protect the program run from unauthorized manipulation. For protecting secret data, for example secret key data, it is known to store the data to be protected in encrypted form in order to prevent readout by unauthorized persons.
Access to secret data can also be effected, however, by selectively interrupting the program run resulting in errors in the encryption routines from which the secret data can be inferred after repeated selective interruption.
To avoid such attacks it is necessary to reliably recognize errors or disturbances of the program run. German patent DE 37 09 524 C2 discloses a method for checking the memory cell contents of a program memory in a computer. Therein, several check sums are stored which are formed from memory cell contents of different address and data memory areas. The check sums are determined at the onset of and/or during computer operation and compared with the stored check sum. Upon ascertainment of a deviation an error signal is outputted.
The method known from DE 37 09 524 C2 is suitable mainly for checking the correctness of data used in a program. It disregards the fact that manipulation of the program run can be effected also or in particular upon program calls, i.e. upon execution of sub- or function programs.